<?php
namespace app\admin\controller;
use app\admin\model\Admin as AdminModel;
use app\admin\controller\Base;//权限验证
use think\Loader;
use think\Session;
class Admin extends Base{
    public function index(){
		$model= new AdminModel();
		//管理员分页
		$list = AdminModel::paginate(5);
		$this->assign('list',$list);
		return $this->fetch('list');
	}
	
	public function add(){
		//管理员添加
		if(request()->isPost()){
			//密码是否为空:为空则不加密,不为空则加密
			$password=input('password');
			if(empty($password)){
				$data=[
					'username'=>input('username'),
					'password'=>input('password'),
					'addtime'=>date("Y-m-d H:i:s"),
				];
			}else{
				$data=[
					'username'=>input('username'),
					'password'=>md5(sha1(input('password'))),
					'addtime'=>date("Y-m-d H:i:s"),
				];
			}
			$validate = Loader::validate('Admin');
			if(!$validate->scene('add')->check($data)){
				//场景验证
			   $this->error($validate->getError()); 
			   die();
			}
			if(db('admin')->insert($data)){
				return $this->success('添加管理员成功！','index');
			}else{
				return $this->error('添加管理员失败！');
			}
			return;
		}
		return $this->fetch('add');
	}
	
	
	public function edit(){
		//管理员修改
		$id=input('id');
		$admins=db('admin')->find($id);
		if(request()->isPost()){
			$data=[
				'id'=>input('id'),
				'username'=>input('username'),
			];
			if(input('password')){
				$data['password']=md5(sha1(input('password')));
			}else{
				//如果没输入密码将原来的密码赋值到文本框
				$data['password']=$admins['password'];
			}
			$validate = Loader::validate('Admin');//验证器
			if(!$validate->scene('edit')->check($data)){
				//验证场景
			   $this->error($validate->getError()); 
			   die();
			}
	        $save=db('admin')->update($data);
			if($save !== false){
				$this->success('修改管理员成功！','index');
			}else{
				$this->error('修改管理员失败！');
			}
			return;
		}
		$this->assign('admins',$admins);
		return $this->fetch('edit');
	}
	
	
	public function del(){
		//管理员删除
		$id=input('id');

		if($id != 1){
			if(db('admin')->delete(input('id'))){
				$this->success('管理员删除成功！','index');
			}else{
				$this->error('管理员删除失败！');
			}
		}else{
			$this->error('初始化管理员不能被删除！');
		}
	}
	
	
	public function state(){
		//管理员状态修改
		$state=input('state');
		$id=input('id');
		if($id != 1){
			if($state == 1){
				if(db('admin')->where('id',$id)->update(['state' => '0'])){
					$this->success('管理员禁用成功！','index');
				}else{
					$this->error('管理员禁用失败！');
				}
			}else{
				if(db('admin')->where('id',input('id'))->update(['state' => '1'])){
					$this->success('管理员启用成功！','index');
				}else{
					$this->error('管理员启用失败！');
				}
			}
		}else{
			$this->error('初始化管理员不能被禁用！');
		}	
	}
	
	
	public function logout(){//销毁session
		session("adminname", NULL);//跳转页面
		$this->success('注销成功！','Login/index');
	}
}
